﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication6
{
    public partial class _Default : System.Web.UI.Page
    {
        DataClasses1DataContext dc = new DataClasses1DataContext();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {


                Session["przepis"] = "";

                // wyswietlenie kategorii
                var x = from p in dc.kategories select p;
                foreach (var p in x)
                    DropDownList1.Items.Add(p.nazwa);

                Session["kcalCalkowite"] = 0;
                Session["licznikBialek"] = 0.0;
                Session["licznikTłuszczy"] = 0.0;
                Session["licznikCukrow"] = 0.0;
                kcalLabel.Text = Session["kcalCalkowite"].ToString();
                bialka.Text = Session["licznikBialek"].ToString() + "g"; 
                tluszcze.Text = Session["licznikTłuszczy"].ToString() + "g"; 
                węglowodany.Text = Session["licznikCukrow"].ToString() + "g"; 
                DropDownList3.ClearSelection();
                DropDownList3.Items.Add("g");
                DropDownList3.Items.Add("ml");
                DropDownList3.ClearSelection();
                //wyswietlenie nazwa produktów w comboBox2
                var Zapytanie_pobranieProduktow = from p in dc.produkties where p.id_kategori == 1 select p;
                foreach (var p in Zapytanie_pobranieProduktow)
                    DropDownList2.Items.Add(p.nazwa);


            }
            else
            {


                kcalLabel.Text = Session["kcalCalkowite"].ToString();
                bialka.Text = Session["licznikBialek"].ToString()+"g";
                węglowodany.Text = Session["licznikCukrow"].ToString()+"g";
                tluszcze.Text = Session["licznikTłuszczy"].ToString()+"g";



            }

        }

        double nB = 0;
        double nT = 0;
        double nC = 0;
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (TextBox1.Text != "")
            {
                //pobranie wagi
                int waga = Convert.ToInt32(TextBox1.Text.ToString());
                //nazwa produktu
                string nazwa_produktu = DropDownList2.Text.ToString();


                //pobranie id_kategorii
                var Zapytanie_pobranie_id_kategorii = from p in dc.kategories where p.nazwa == DropDownList1.Text select p;
                int id_kategorii = 0;

                foreach (var p in Zapytanie_pobranie_id_kategorii)
                    id_kategorii = (int)p.id_kategori;


                //pobranie ilosci kalorii
                var zapytaniePobierajaceIloscKcal = from p in dc.produkties where (p.nazwa == nazwa_produktu && p.id_kategori == id_kategorii) select p;
                int kcal = -1;
                foreach (var p in zapytaniePobierajaceIloscKcal)
                {
                    kcal = (int)p.kcal;
                    nB = (double)p.białka;

                    nT = (double)p.tłuszcze;
                    nC = (double)p.węglowodany;





                    int kcalProduku = waga * kcal / 100;
                    Session["kcalCalkowite"] = ((int)Session["kcalCalkowite"] + kcalProduku);

                    Session["licznikBialek"] = ((double)Session["licznikBialek"] + waga * nB / 100.0);
                    Session["licznikTłuszczy"] = ((double)Session["licznikTłuszczy"] + waga * nT / 100.0);
                    Session["licznikCukrow"] = ((double)Session["licznikCukrow"] + waga * nC / 100.0);
                    kcalLabel.Text = Session["kcalCalkowite"].ToString();
                    bialka.Text = Session["licznikBialek"].ToString()+"g";
                    tluszcze.Text = Session["licznikTłuszczy"].ToString()+"g";
                    węglowodany.Text = Session["licznikCukrow"].ToString()+"g";
                    BulletedList1.Items.Add(nazwa_produktu.ToString() + " " + waga.ToString() + "" + DropDownList3.Text);
                }
            }
        }

        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownList2.Items.Clear();


            string nazwa_kategorii = DropDownList1.SelectedValue.ToString();


            //pobranie id_kategorii
            var Zapytanie_pobranie_id_kategorii = from p in dc.kategories where p.nazwa == nazwa_kategorii select p;
            int  id_kategorii = 0;

            foreach (var p in Zapytanie_pobranie_id_kategorii)
                id_kategorii = (int)p.id_kategori;


            //wyswietlenie nazwa produktów w comboBox2
            var Zapytanie_pobranieProduktow = from p in dc.produkties where p.id_kategori == id_kategorii select p;
            foreach (var p in Zapytanie_pobranieProduktow)
                DropDownList2.Items.Add(p.nazwa);
        }

        protected void clear_Click(object sender, EventArgs e)
        {
            kcalLabel.Text = Session["kcalCalkowite"].ToString();
            bialka.Text = Session["licznikBialek"].ToString()+"g";
            tluszcze.Text = Session["licznikTłuszczy"].ToString()+"g";
            węglowodany.Text = Session["licznikCukrow"].ToString()+"g";

            Session.Abandon();
            Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
            Response.Redirect(Request.Url.ToString());
        }
    }
}
